package IO流.Writer;

import org.junit.jupiter.api.Test;

import java.io.BufferedInputStream;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;

/*
    FileWriter常用的方法：
    1.new FileWriter(File/String) 覆盖模式，相当于流的指针在首位
    2.new FileWriter(File/Sting, true)  追加模式，相当于流的指针在尾端
    3.writ()  写入单个字符
    4.write(char[]) 写入指定数组
    5.write(char[], off, len)  写入指定数组的指定部分
    6.write(string)    写入整个字符串
    7.write(String,off,len) 写入字符串的指定部分
    toCharArray:将String转换成char[]
    注意：
        FileWriter使用后，必须要关闭(clone)或者刷新(flush),否则写入不到指定的文件
 */
@SuppressWarnings("all")
public class FileWriter01 {
    @Test
    public void fileWriter001(){
        String filePath = "src/main/java/IO流/Writer/1.txt";
        FileWriter fileWriter = null;
        char[] str = {'a','d', 'h'};
        try {
            fileWriter = new FileWriter(filePath);
            //一次写入一个字符
            //fileWriter.write("H");

            //write(char cbuf[]) 写入指定数组
            //fileWriter.write(str);

            //write(char cbuf[], int off, int len) 写入字符的指定部分
            //fileWriter.write("陕西西安西咸新区".toCharArray(),0,4);

            //write(String str) 写入整个字符串
            fileWriter.write("你好北京");
            //write(String str, int off, int len) 写入字符串的指定部分
            fileWriter.write("你好冬奥会",0,3);
        } catch (IOException e) {
            e.printStackTrace();
        }finally {
            try {
                fileWriter.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}
